package com.yao.club.utils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StopWatch;

/**
 * 日志工具类（基于SLF4J）
 * 提供标准化日志输出、性能监控、异常堆栈打印等功能
 */
public class LogUtils {

    private LogUtils() {} // 防止实例化

    // 获取调用者类名的Logger
    private static Logger getLogger() {
        StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
        String className = stackTrace[3].getClassName(); // 获取调用者的类名
        return LoggerFactory.getLogger(className);
    }

    // 基础日志方法
    public static void info(String format, Object... args) {
        getLogger().info(format, args);
    }

    public static void warn(String format, Object... args) {
        getLogger().warn(format, args);
    }

    public static void error(String format, Object... args) {
        getLogger().error(format, args);
    }

    public static void debug(String format, Object... args) {
        getLogger().debug(format, args);
    }

    // 带异常信息的日志
    public static void error(String msg, Throwable t) {
        getLogger().error(msg, t);
    }


}